GtkWidget *popup_widget;
- gulong inserted_id;
- gulong deleted_id;
- gulong reordered_id;
- gulong changed_id;
guint popup_idle_id;
guint scroll_timer;
guint resize_idle_id;
if (priv->model)
{
- g_signal_handler_disconnect (priv->model,
- priv->inserted_id);
- g_signal_handler_disconnect (priv->model,
- priv->deleted_id);
- g_signal_handler_disconnect (priv->model,
- priv->reordered_id);
- g_signal_handler_disconnect (priv->model,
- priv->changed_id);
+ g_signal_handlers_disconnect_by_data (priv->model, combo_box);
g_object_unref (priv->model);
priv->model = NULL;
priv->model = model;
g_object_ref (priv->model);
- priv->inserted_id =
- g_signal_connect (priv->model, "row-inserted",
- G_CALLBACK (gtk_combo_box_model_row_inserted),
- combo_box);
- priv->deleted_id =
- g_signal_connect (priv->model, "row-deleted",
- G_CALLBACK (gtk_combo_box_model_row_deleted),
- combo_box);
- priv->reordered_id =
- g_signal_connect (priv->model, "rows-reordered",
- G_CALLBACK (gtk_combo_box_model_rows_reordered),
- combo_box);
- priv->changed_id =
- g_signal_connect (priv->model, "row-changed",
- G_CALLBACK (gtk_combo_box_model_row_changed),
- combo_box);
+ g_signal_connect (priv->model, "row-inserted",
+ G_CALLBACK (gtk_combo_box_model_row_inserted),
+ combo_box);
+ g_signal_connect (priv->model, "row-deleted",
+ G_CALLBACK (gtk_combo_box_model_row_deleted),
+ combo_box);
+ g_signal_connect (priv->model, "rows-reordered",
+ G_CALLBACK (gtk_combo_box_model_rows_reordered),
+ combo_box);
+ g_signal_connect (priv->model, "row-changed",
+ G_CALLBACK (gtk_combo_box_model_row_changed),
+ combo_box);
_gtk_tree_menu_set_model (GTK_TREE_MENU (priv->popup_widget),
priv->model);